{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Experimentation with Privacy Tree: Reproducing Results from the Paper\n",
    "\n",
    "\n",
    "This notebook provides a way to reproduce the experiment described in the paper [Privacy-Preserving Tree-Based Inference with Fully Homomorphic Encryption](https://arxiv.org/pdf/2303.01254.pdf). By following the instructions in this notebook, users can run the experiment themselves and verify the results reported in the paper."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Importing necessary libraries and modules\n",
    "\n",
    "import time\n",
    "\n",
    "import numpy as np\n",
    "from IPython.display import display\n",
    "from onnx import numpy_helper\n",
    "from sklearn.datasets import fetch_openml\n",
    "from sklearn.metrics import (\n",
    "    accuracy_score,\n",
    "    average_precision_score,\n",
    "    f1_score,\n",
    "    precision_score,\n",
    "    recall_score,\n",
    ")\n",
    "from sklearn.model_selection import RepeatedKFold\n",
    "from sklearn.preprocessing import LabelBinarizer, OrdinalEncoder\n",
    "\n",
    "from concrete.ml.sklearn import DecisionTreeClassifier, RandomForestClassifier, XGBClassifier\n",
    "\n",
    "\n",
    "def basic_preprocessing(df, target_column):\n",
    "    \"\"\"\n",
    "    Convert categorical columns to their corresponding code values\n",
    "    and binarize the target column.\n",
    "\n",
    "    Parameters:\n",
    "        df (pandas.DataFrame): Input dataframe to preprocess.\n",
    "        target_column (str): Name of the target column to be binarized.\n",
    "\n",
    "    Returns:\n",
    "        pandas.DataFrame: Preprocessed dataframe.\n",
    "    \"\"\"\n",
    "\n",
    "    for col in df.columns:\n",
    "        if df[col].dtype == \"object\":\n",
    "            df[col] = df[col].astype(\"category\")\n",
    "            df[col] = df[col].cat.codes\n",
    "        elif df[col].dtype == \"category\":\n",
    "            df[col] = df[col].cat.codes\n",
    "    df[target_column] = LabelBinarizer().fit_transform(df[target_column])\n",
    "\n",
    "    return df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading spambase\n",
      "Loading wine\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading heart-h\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading wdbc\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading adult\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading steel\n"
     ]
    }
   ],
   "source": [
    "# Set up dataset names and their respective IDs for fetching from OpenML\n",
    "dataset_names = {\n",
    "    \"spambase\": 44,\n",
    "    \"wine\": None,\n",
    "    \"heart-h\": 1565,\n",
    "    \"wdbc\": 1510,\n",
    "    \"adult\": None,\n",
    "    \"steel\": 1504,\n",
    "}\n",
    "\n",
    "datasets = {}\n",
    "\n",
    "\n",
    "def load_dataset(name, data_id=None):\n",
    "    \"\"\"Load dataset from OpenML by name or by ID.\n",
    "\n",
    "    Args:\n",
    "        name (str): Name of the dataset.\n",
    "        data_id (int, optional): The ID of the dataset on OpenML.\n",
    "            If provided, the dataset is loaded by ID.\n",
    "\n",
    "    Returns:\n",
    "        X (np.array): Features of the dataset.\n",
    "        y (np.array): Target labels of the dataset.\n",
    "    \"\"\"\n",
    "    if data_id is not None:\n",
    "        X, y = fetch_openml(data_id=data_id, as_frame=True, cache=True, return_X_y=True)\n",
    "    else:\n",
    "        X, y = fetch_openml(name=name, as_frame=True, cache=True, return_X_y=True)\n",
    "    return X, y\n",
    "\n",
    "\n",
    "def preprocess_features(X):\n",
    "    \"\"\"Convert categorical columns to numerical.\"\"\"\n",
    "    X_processed = X.copy()\n",
    "\n",
    "    for column in X_processed.columns:\n",
    "        if X_processed[column].dtype == \"object\" or X_processed[column].dtype.name == \"category\":\n",
    "            # Convert categorical columns to numeric using label encoding\n",
    "            X_processed[column] = X_processed[column].astype(\"category\").cat.codes\n",
    "\n",
    "    return X_processed.astype(np.float32)\n",
    "\n",
    "\n",
    "for ds_name, ds_id in dataset_names.items():\n",
    "    print(f\"Loading {ds_name}\")\n",
    "\n",
    "    X, y = load_dataset(ds_name, ds_id)\n",
    "\n",
    "    # Preprocess features (handle categorical data)\n",
    "    X = preprocess_features(X)\n",
    "\n",
    "    # Remove rows with NaN values\n",
    "    not_nan_mask = ~np.isnan(X).any(axis=1)\n",
    "    X = X[not_nan_mask]\n",
    "    y = y[not_nan_mask]\n",
    "\n",
    "    # Convert non-integer target labels to integers\n",
    "    if not y.dtype == np.int64:\n",
    "        encoder = OrdinalEncoder()\n",
    "        # Convert pandas Series to numpy array before reshaping\n",
    "        y = encoder.fit_transform(np.array(y).reshape(-1, 1)).astype(np.int32).squeeze()\n",
    "\n",
    "    # Ensure both X and y are numpy arrays before storing\n",
    "    datasets[ds_name] = {\"X\": np.array(X), \"y\": np.array(y)}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Setting a random seed for reproducibility across all models and operations\n",
    "random_seed = 42\n",
    "\n",
    "# Models with their hyper-parameters\n",
    "model_hyperparameters = {\n",
    "    DecisionTreeClassifier: {\"max_depth\": 5, \"random_state\": random_seed},\n",
    "    XGBClassifier: {\"max_depth\": 3, \"n_estimators\": 50, \"random_state\": random_seed},\n",
    "    RandomForestClassifier: {\"n_estimators\": 50, \"random_state\": random_seed},\n",
    "}\n",
    "\n",
    "decision_tree_comparison_params = {\n",
    "    \"spam\": {\"max_leaf_nodes\": 58, \"max_depth\": 17},\n",
    "    \"heart-h\": {\"max_leaf_nodes\": 5, \"max_depth\": 3},\n",
    "    \"steel\": {\"max_leaf_nodes\": None, \"max_depth\": 5},\n",
    "    \"wdbc\": {\"max_leaf_nodes\": None, \"max_depth\": 10},\n",
    "}\n",
    "\n",
    "# List of bit-width used for quantization\n",
    "n_bits_list = list(range(1, 10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def analyze_gemm_computation(concrete_classifier):\n",
    "    \"\"\"Analyze the GEMM (General Matrix Multiply) operations in the given ONNX model.\n",
    "\n",
    "    Args:\n",
    "        concrete_classifier (object): Classifier that contains an ONNX model representation.\n",
    "        x_train (np.array): Training dataset.\n",
    "\n",
    "    Returns:\n",
    "        tuple: Shapes of the matrices involved in GEMM operations.\n",
    "    \"\"\"\n",
    "\n",
    "    # Extract weights and biases from the ONNX model graph\n",
    "    quant_params = {\n",
    "        onnx_init.name: numpy_helper.to_array(onnx_init)\n",
    "        for onnx_init in concrete_classifier.onnx_model.graph.initializer\n",
    "        if \"weight\" in onnx_init.name or \"bias\" in onnx_init.name\n",
    "    }\n",
    "\n",
    "    # Extract the shapes of matrices used in GEMM operations\n",
    "    matrix_shapes = []\n",
    "    for i in range(1, 4):\n",
    "        key = [key for key in quant_params.keys() if f\"_{i}\" in key and \"weight\" in key][0]\n",
    "        matrix_shapes.append(quant_params[key].shape)\n",
    "\n",
    "    return tuple(matrix_shapes)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Experiments for table 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier on spambase (#features: 57) -> Acc: 0.9103, Acc (fp32): 0.9035, FHE inference time: 1.28s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier on spambase (#features: 57) -> Acc: 0.9448, Acc (fp32): 0.9497, FHE inference time: 1.01s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier on spambase (#features: 57) -> Acc: 0.9089, Acc (fp32): 0.9184, FHE inference time: 1.58s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier on wine (#features: 13) -> Acc: 0.9083, Acc (fp32): 0.9046, FHE inference time: 0.73s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier on wine (#features: 13) -> Acc: 0.9699, Acc (fp32): 0.9624, FHE inference time: 1.63s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier on wine (#features: 13) -> Acc: 0.9850, Acc (fp32): 0.9813, FHE inference time: 1.14s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier on heart-h (#features: 13) -> Acc: 0.6100, Acc (fp32): 0.5998, FHE inference time: 0.65s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier on heart-h (#features: 13) -> Acc: 0.6543, Acc (fp32): 0.6463, FHE inference time: 2.91s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier on heart-h (#features: 13) -> Acc: 0.6679, Acc (fp32): 0.6644, FHE inference time: 1.51s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier on wdbc (#features: 30) -> Acc: 0.9420, Acc (fp32): 0.9391, FHE inference time: 0.72s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier on wdbc (#features: 30) -> Acc: 0.9678, Acc (fp32): 0.9649, FHE inference time: 0.82s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier on wdbc (#features: 30) -> Acc: 0.9561, Acc (fp32): 0.9526, FHE inference time: 1.35s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier on adult (#features: 14) -> Acc: 0.8364, Acc (fp32): 0.8364, FHE inference time: 0.67s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier on adult (#features: 14) -> Acc: 0.8535, Acc (fp32): 0.8543, FHE inference time: 0.88s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier on adult (#features: 14) -> Acc: 0.8341, Acc (fp32): 0.8341, FHE inference time: 2.30s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier on steel (#features: 33) -> Acc: 0.9717, Acc (fp32): 0.9717, FHE inference time: 0.59s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier on steel (#features: 33) -> Acc: 1.0000, Acc (fp32): 1.0000, FHE inference time: 0.66s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier on steel (#features: 33) -> Acc: 0.9687, Acc (fp32): 0.9586, FHE inference time: 1.41s\n"
     ]
    }
   ],
   "source": [
    "def benchmark_model(X, y, model, model_params, n_bits, rkf):\n",
    "    \"\"\"Benchmark a given model and return its evaluation scores.\"\"\"\n",
    "    scores = {\n",
    "        \"precision\": [],\n",
    "        \"recall\": [],\n",
    "        \"accuracy\": [],\n",
    "        \"f1\": [],\n",
    "        \"average_precision\": [],\n",
    "        \"nodes\": None,\n",
    "    }\n",
    "    scores_fp32 = {\"precision\": [], \"recall\": [], \"accuracy\": [], \"f1\": [], \"average_precision\": []}\n",
    "\n",
    "    metric_func_to_key = {\n",
    "        \"precision_score\": \"precision\",\n",
    "        \"recall_score\": \"recall\",\n",
    "        \"f1_score\": \"f1\",\n",
    "        \"average_precision_score\": \"average_precision\",\n",
    "    }\n",
    "\n",
    "    for train_index, test_index in rkf.split(X):\n",
    "        X_train, X_test = X[train_index], X[test_index]\n",
    "        y_train, y_test = y[train_index], y[test_index]\n",
    "\n",
    "        concrete_model, sklearn_model = model(n_bits=n_bits, **model_params).fit_benchmark(\n",
    "            X_train, y_train\n",
    "        )\n",
    "\n",
    "        y_pred = concrete_model.predict(X_test)\n",
    "        if len(set(y_test)) == 2:\n",
    "            for metric_func in [precision_score, recall_score, average_precision_score, f1_score]:\n",
    "                scores_key = metric_func_to_key[metric_func.__name__]\n",
    "                scores[scores_key].append(metric_func(y_test, y_pred))\n",
    "        scores[\"accuracy\"].append(accuracy_score(y_test, y_pred))\n",
    "\n",
    "        y_pred_fp32 = sklearn_model.predict(X_test)\n",
    "        if len(set(y_test)) == 2:\n",
    "            for metric_func in [precision_score, recall_score, average_precision_score, f1_score]:\n",
    "                scores_key = metric_func_to_key[metric_func.__name__]\n",
    "                scores_fp32[scores_key].append(metric_func(y_test, y_pred_fp32))\n",
    "        scores_fp32[\"accuracy\"].append(accuracy_score(y_test, y_pred_fp32))\n",
    "\n",
    "        shapes = analyze_gemm_computation(concrete_model)\n",
    "        scores[\"nodes\"] = shapes[0][0]\n",
    "\n",
    "    # Calculate inference time\n",
    "    concrete_model.compile(X_train)\n",
    "    concrete_model.fhe_circuit.keygen(force=False)\n",
    "\n",
    "    start = time.time()\n",
    "    concrete_model.predict(X_test[:1], fhe=\"execute\")\n",
    "    end = time.time()\n",
    "    scores[\"inference_time\"] = end - start\n",
    "\n",
    "    start = time.time()\n",
    "    concrete_model.predict(X_test[:1])\n",
    "    end = time.time()\n",
    "    scores_fp32[\"inference_time\"] = end - start\n",
    "\n",
    "    return scores, scores_fp32\n",
    "\n",
    "\n",
    "n_bits = 6\n",
    "scores_global = {}\n",
    "\n",
    "rkf = RepeatedKFold(n_splits=5, n_repeats=3, random_state=0)\n",
    "\n",
    "for dataset_name, dataset_data in datasets.items():\n",
    "    X, y = dataset_data[\"X\"].astype(np.float32), dataset_data[\"y\"]\n",
    "    assert len(set(y)) >= 2\n",
    "    if y.dtype not in [np.int32, bool]:\n",
    "        print(f\"Unexpected datatype for y in dataset {dataset_name}: {y.dtype}\")\n",
    "\n",
    "    key_dataset = f\"{dataset_name} (#features: {X.shape[1]})\"\n",
    "    scores_global[key_dataset] = {}\n",
    "\n",
    "    for cls, model_params in model_hyperparameters.items():\n",
    "        scores, scores_fp32 = benchmark_model(X, y, cls, model_params, n_bits, rkf)\n",
    "\n",
    "        scores_global[key_dataset][cls.__name__ + \"_concrete\"] = scores\n",
    "        scores_global[key_dataset][cls.__name__ + \"_fp32\"] = scores_fp32\n",
    "\n",
    "        print(\n",
    "            f\"{cls.__name__} on {key_dataset} -> Acc: {np.mean(scores['accuracy']):.4f}, \"\n",
    "            f\"Acc (fp32): {np.mean(scores_fp32['accuracy']):.4f}, \"\n",
    "            f\"FHE inference time: {scores['inference_time']:.2f}s\"\n",
    "        )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>accuracy</th>\n",
       "      <th>f1</th>\n",
       "      <th>AP</th>\n",
       "      <th>nodes</th>\n",
       "      <th>Time (s)</th>\n",
       "      <th>FHE/Clear ratio</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"6\" valign=\"top\">spambase (#features: 57)</th>\n",
       "      <th>FHE-DT</th>\n",
       "      <td>91.0\\% ± 1.0\\%</td>\n",
       "      <td>88.0\\% ± 1.3\\%</td>\n",
       "      <td>84.3\\% ± 1.7\\%</td>\n",
       "      <td>23.000</td>\n",
       "      <td>1.283</td>\n",
       "      <td>610x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-DT</th>\n",
       "      <td>90.3\\% ± 1.0\\%</td>\n",
       "      <td>87.4\\% ± 1.2\\%</td>\n",
       "      <td>82.4\\% ± 1.8\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>0.002</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FHE-XGB</th>\n",
       "      <td>94.5\\% ± 0.8\\%</td>\n",
       "      <td>92.9\\% ± 1.1\\%</td>\n",
       "      <td>89.6\\% ± 1.4\\%</td>\n",
       "      <td>350.000</td>\n",
       "      <td>1.014</td>\n",
       "      <td>474x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-XGB</th>\n",
       "      <td>95.0\\% ± 0.7\\%</td>\n",
       "      <td>93.6\\% ± 0.9\\%</td>\n",
       "      <td>90.5\\% ± 1.1\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>0.002</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FHE-RF</th>\n",
       "      <td>90.9\\% ± 1.1\\%</td>\n",
       "      <td>87.5\\% ± 1.5\\%</td>\n",
       "      <td>84.6\\% ± 1.7\\%</td>\n",
       "      <td>750.000</td>\n",
       "      <td>1.582</td>\n",
       "      <td>664x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-RF</th>\n",
       "      <td>91.8\\% ± 1.1\\%</td>\n",
       "      <td>89.0\\% ± 1.4\\%</td>\n",
       "      <td>86.0\\% ± 1.6\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>0.002</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"6\" valign=\"top\">wine (#features: 13)</th>\n",
       "      <th>FHE-DT</th>\n",
       "      <td>90.8\\% ± 5.2\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>7.000</td>\n",
       "      <td>0.731</td>\n",
       "      <td>649x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-DT</th>\n",
       "      <td>90.5\\% ± 5.0\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>0.001</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FHE-XGB</th>\n",
       "      <td>97.0\\% ± 2.4\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>900.000</td>\n",
       "      <td>1.634</td>\n",
       "      <td>1321x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-XGB</th>\n",
       "      <td>96.2\\% ± 2.9\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>0.001</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FHE-RF</th>\n",
       "      <td>98.5\\% ± 1.4\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>500.000</td>\n",
       "      <td>1.139</td>\n",
       "      <td>804x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-RF</th>\n",
       "      <td>98.1\\% ± 2.0\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>0.001</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"6\" valign=\"top\">heart-h (#features: 13)</th>\n",
       "      <th>FHE-DT</th>\n",
       "      <td>61.0\\% ± 5.4\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>21.000</td>\n",
       "      <td>0.647</td>\n",
       "      <td>596x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-DT</th>\n",
       "      <td>60.0\\% ± 5.5\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>0.001</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FHE-XGB</th>\n",
       "      <td>65.4\\% ± 7.8\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>1750.000</td>\n",
       "      <td>2.908</td>\n",
       "      <td>1732x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-XGB</th>\n",
       "      <td>64.6\\% ± 7.5\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>0.002</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FHE-RF</th>\n",
       "      <td>66.8\\% ± 6.4\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>750.000</td>\n",
       "      <td>1.508</td>\n",
       "      <td>1362x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-RF</th>\n",
       "      <td>66.4\\% ± 5.3\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>-</td>\n",
       "      <td>0.001</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"6\" valign=\"top\">wdbc (#features: 30)</th>\n",
       "      <th>FHE-DT</th>\n",
       "      <td>94.2\\% ± 1.9\\%</td>\n",
       "      <td>92.0\\% ± 2.8\\%</td>\n",
       "      <td>88.4\\% ± 4.1\\%</td>\n",
       "      <td>15.000</td>\n",
       "      <td>0.717</td>\n",
       "      <td>401x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-DT</th>\n",
       "      <td>93.9\\% ± 1.9\\%</td>\n",
       "      <td>91.7\\% ± 3.0\\%</td>\n",
       "      <td>87.3\\% ± 4.8\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>0.002</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FHE-XGB</th>\n",
       "      <td>96.8\\% ± 1.1\\%</td>\n",
       "      <td>95.5\\% ± 1.8\\%</td>\n",
       "      <td>93.4\\% ± 2.5\\%</td>\n",
       "      <td>350.000</td>\n",
       "      <td>0.825</td>\n",
       "      <td>555x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-XGB</th>\n",
       "      <td>96.5\\% ± 1.6\\%</td>\n",
       "      <td>95.2\\% ± 2.4\\%</td>\n",
       "      <td>92.9\\% ± 3.4\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>0.001</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FHE-RF</th>\n",
       "      <td>95.6\\% ± 1.7\\%</td>\n",
       "      <td>93.9\\% ± 2.6\\%</td>\n",
       "      <td>91.2\\% ± 3.6\\%</td>\n",
       "      <td>700.000</td>\n",
       "      <td>1.350</td>\n",
       "      <td>883x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-RF</th>\n",
       "      <td>95.3\\% ± 1.8\\%</td>\n",
       "      <td>93.4\\% ± 2.9\\%</td>\n",
       "      <td>90.4\\% ± 4.1\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>0.002</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"6\" valign=\"top\">adult (#features: 14)</th>\n",
       "      <th>FHE-DT</th>\n",
       "      <td>83.6\\% ± 0.4\\%</td>\n",
       "      <td>60.4\\% ± 0.7\\%</td>\n",
       "      <td>50.3\\% ± 0.8\\%</td>\n",
       "      <td>30.000</td>\n",
       "      <td>0.666</td>\n",
       "      <td>548x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-DT</th>\n",
       "      <td>83.6\\% ± 0.4\\%</td>\n",
       "      <td>60.4\\% ± 0.7\\%</td>\n",
       "      <td>50.3\\% ± 0.7\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>0.001</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FHE-XGB</th>\n",
       "      <td>85.3\\% ± 0.2\\%</td>\n",
       "      <td>67.3\\% ± 0.7\\%</td>\n",
       "      <td>55.5\\% ± 0.7\\%</td>\n",
       "      <td>350.000</td>\n",
       "      <td>0.880</td>\n",
       "      <td>673x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-XGB</th>\n",
       "      <td>85.4\\% ± 0.2\\%</td>\n",
       "      <td>67.8\\% ± 0.4\\%</td>\n",
       "      <td>55.8\\% ± 0.6\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>0.001</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FHE-RF</th>\n",
       "      <td>83.4\\% ± 0.4\\%</td>\n",
       "      <td>57.6\\% ± 1.1\\%</td>\n",
       "      <td>49.2\\% ± 0.8\\%</td>\n",
       "      <td>750.000</td>\n",
       "      <td>2.295</td>\n",
       "      <td>2073x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-RF</th>\n",
       "      <td>83.4\\% ± 0.4\\%</td>\n",
       "      <td>57.6\\% ± 1.2\\%</td>\n",
       "      <td>49.2\\% ± 0.9\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>0.001</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"6\" valign=\"top\">steel (#features: 33)</th>\n",
       "      <th>FHE-DT</th>\n",
       "      <td>97.2\\% ± 0.7\\%</td>\n",
       "      <td>96.1\\% ± 0.9\\%</td>\n",
       "      <td>92.5\\% ± 1.7\\%</td>\n",
       "      <td>5.000</td>\n",
       "      <td>0.587</td>\n",
       "      <td>346x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-DT</th>\n",
       "      <td>97.2\\% ± 0.7\\%</td>\n",
       "      <td>96.1\\% ± 0.9\\%</td>\n",
       "      <td>92.5\\% ± 1.7\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>0.002</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FHE-XGB</th>\n",
       "      <td>100.0\\% ± 0.0\\%</td>\n",
       "      <td>100.0\\% ± 0.0\\%</td>\n",
       "      <td>100.0\\% ± 0.0\\%</td>\n",
       "      <td>200.000</td>\n",
       "      <td>0.662</td>\n",
       "      <td>423x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-XGB</th>\n",
       "      <td>100.0\\% ± 0.0\\%</td>\n",
       "      <td>100.0\\% ± 0.0\\%</td>\n",
       "      <td>100.0\\% ± 0.0\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>0.002</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FHE-RF</th>\n",
       "      <td>96.9\\% ± 1.2\\%</td>\n",
       "      <td>95.4\\% ± 1.8\\%</td>\n",
       "      <td>93.6\\% ± 2.2\\%</td>\n",
       "      <td>700.000</td>\n",
       "      <td>1.413</td>\n",
       "      <td>899x</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FP32-RF</th>\n",
       "      <td>95.9\\% ± 1.1\\%</td>\n",
       "      <td>93.9\\% ± 1.5\\%</td>\n",
       "      <td>91.4\\% ± 2.3\\%</td>\n",
       "      <td>-</td>\n",
       "      <td>0.002</td>\n",
       "      <td>-</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                          accuracy               f1  \\\n",
       "spambase (#features: 57) FHE-DT     91.0\\% ± 1.0\\%   88.0\\% ± 1.3\\%   \n",
       "                         FP32-DT    90.3\\% ± 1.0\\%   87.4\\% ± 1.2\\%   \n",
       "                         FHE-XGB    94.5\\% ± 0.8\\%   92.9\\% ± 1.1\\%   \n",
       "                         FP32-XGB   95.0\\% ± 0.7\\%   93.6\\% ± 0.9\\%   \n",
       "                         FHE-RF     90.9\\% ± 1.1\\%   87.5\\% ± 1.5\\%   \n",
       "                         FP32-RF    91.8\\% ± 1.1\\%   89.0\\% ± 1.4\\%   \n",
       "wine (#features: 13)     FHE-DT     90.8\\% ± 5.2\\%                -   \n",
       "                         FP32-DT    90.5\\% ± 5.0\\%                -   \n",
       "                         FHE-XGB    97.0\\% ± 2.4\\%                -   \n",
       "                         FP32-XGB   96.2\\% ± 2.9\\%                -   \n",
       "                         FHE-RF     98.5\\% ± 1.4\\%                -   \n",
       "                         FP32-RF    98.1\\% ± 2.0\\%                -   \n",
       "heart-h (#features: 13)  FHE-DT     61.0\\% ± 5.4\\%                -   \n",
       "                         FP32-DT    60.0\\% ± 5.5\\%                -   \n",
       "                         FHE-XGB    65.4\\% ± 7.8\\%                -   \n",
       "                         FP32-XGB   64.6\\% ± 7.5\\%                -   \n",
       "                         FHE-RF     66.8\\% ± 6.4\\%                -   \n",
       "                         FP32-RF    66.4\\% ± 5.3\\%                -   \n",
       "wdbc (#features: 30)     FHE-DT     94.2\\% ± 1.9\\%   92.0\\% ± 2.8\\%   \n",
       "                         FP32-DT    93.9\\% ± 1.9\\%   91.7\\% ± 3.0\\%   \n",
       "                         FHE-XGB    96.8\\% ± 1.1\\%   95.5\\% ± 1.8\\%   \n",
       "                         FP32-XGB   96.5\\% ± 1.6\\%   95.2\\% ± 2.4\\%   \n",
       "                         FHE-RF     95.6\\% ± 1.7\\%   93.9\\% ± 2.6\\%   \n",
       "                         FP32-RF    95.3\\% ± 1.8\\%   93.4\\% ± 2.9\\%   \n",
       "adult (#features: 14)    FHE-DT     83.6\\% ± 0.4\\%   60.4\\% ± 0.7\\%   \n",
       "                         FP32-DT    83.6\\% ± 0.4\\%   60.4\\% ± 0.7\\%   \n",
       "                         FHE-XGB    85.3\\% ± 0.2\\%   67.3\\% ± 0.7\\%   \n",
       "                         FP32-XGB   85.4\\% ± 0.2\\%   67.8\\% ± 0.4\\%   \n",
       "                         FHE-RF     83.4\\% ± 0.4\\%   57.6\\% ± 1.1\\%   \n",
       "                         FP32-RF    83.4\\% ± 0.4\\%   57.6\\% ± 1.2\\%   \n",
       "steel (#features: 33)    FHE-DT     97.2\\% ± 0.7\\%   96.1\\% ± 0.9\\%   \n",
       "                         FP32-DT    97.2\\% ± 0.7\\%   96.1\\% ± 0.9\\%   \n",
       "                         FHE-XGB   100.0\\% ± 0.0\\%  100.0\\% ± 0.0\\%   \n",
       "                         FP32-XGB  100.0\\% ± 0.0\\%  100.0\\% ± 0.0\\%   \n",
       "                         FHE-RF     96.9\\% ± 1.2\\%   95.4\\% ± 1.8\\%   \n",
       "                         FP32-RF    95.9\\% ± 1.1\\%   93.9\\% ± 1.5\\%   \n",
       "\n",
       "                                                AP     nodes Time (s)  \\\n",
       "spambase (#features: 57) FHE-DT     84.3\\% ± 1.7\\%    23.000    1.283   \n",
       "                         FP32-DT    82.4\\% ± 1.8\\%         -    0.002   \n",
       "                         FHE-XGB    89.6\\% ± 1.4\\%   350.000    1.014   \n",
       "                         FP32-XGB   90.5\\% ± 1.1\\%         -    0.002   \n",
       "                         FHE-RF     84.6\\% ± 1.7\\%   750.000    1.582   \n",
       "                         FP32-RF    86.0\\% ± 1.6\\%         -    0.002   \n",
       "wine (#features: 13)     FHE-DT                  -     7.000    0.731   \n",
       "                         FP32-DT                 -         -    0.001   \n",
       "                         FHE-XGB                 -   900.000    1.634   \n",
       "                         FP32-XGB                -         -    0.001   \n",
       "                         FHE-RF                  -   500.000    1.139   \n",
       "                         FP32-RF                 -         -    0.001   \n",
       "heart-h (#features: 13)  FHE-DT                  -    21.000    0.647   \n",
       "                         FP32-DT                 -         -    0.001   \n",
       "                         FHE-XGB                 -  1750.000    2.908   \n",
       "                         FP32-XGB                -         -    0.002   \n",
       "                         FHE-RF                  -   750.000    1.508   \n",
       "                         FP32-RF                 -         -    0.001   \n",
       "wdbc (#features: 30)     FHE-DT     88.4\\% ± 4.1\\%    15.000    0.717   \n",
       "                         FP32-DT    87.3\\% ± 4.8\\%         -    0.002   \n",
       "                         FHE-XGB    93.4\\% ± 2.5\\%   350.000    0.825   \n",
       "                         FP32-XGB   92.9\\% ± 3.4\\%         -    0.001   \n",
       "                         FHE-RF     91.2\\% ± 3.6\\%   700.000    1.350   \n",
       "                         FP32-RF    90.4\\% ± 4.1\\%         -    0.002   \n",
       "adult (#features: 14)    FHE-DT     50.3\\% ± 0.8\\%    30.000    0.666   \n",
       "                         FP32-DT    50.3\\% ± 0.7\\%         -    0.001   \n",
       "                         FHE-XGB    55.5\\% ± 0.7\\%   350.000    0.880   \n",
       "                         FP32-XGB   55.8\\% ± 0.6\\%         -    0.001   \n",
       "                         FHE-RF     49.2\\% ± 0.8\\%   750.000    2.295   \n",
       "                         FP32-RF    49.2\\% ± 0.9\\%         -    0.001   \n",
       "steel (#features: 33)    FHE-DT     92.5\\% ± 1.7\\%     5.000    0.587   \n",
       "                         FP32-DT    92.5\\% ± 1.7\\%         -    0.002   \n",
       "                         FHE-XGB   100.0\\% ± 0.0\\%   200.000    0.662   \n",
       "                         FP32-XGB  100.0\\% ± 0.0\\%         -    0.002   \n",
       "                         FHE-RF     93.6\\% ± 2.2\\%   700.000    1.413   \n",
       "                         FP32-RF    91.4\\% ± 2.3\\%         -    0.002   \n",
       "\n",
       "                                  FHE/Clear ratio  \n",
       "spambase (#features: 57) FHE-DT              610x  \n",
       "                         FP32-DT                -  \n",
       "                         FHE-XGB             474x  \n",
       "                         FP32-XGB               -  \n",
       "                         FHE-RF              664x  \n",
       "                         FP32-RF                -  \n",
       "wine (#features: 13)     FHE-DT              649x  \n",
       "                         FP32-DT                -  \n",
       "                         FHE-XGB            1321x  \n",
       "                         FP32-XGB               -  \n",
       "                         FHE-RF              804x  \n",
       "                         FP32-RF                -  \n",
       "heart-h (#features: 13)  FHE-DT              596x  \n",
       "                         FP32-DT                -  \n",
       "                         FHE-XGB            1732x  \n",
       "                         FP32-XGB               -  \n",
       "                         FHE-RF             1362x  \n",
       "                         FP32-RF                -  \n",
       "wdbc (#features: 30)     FHE-DT              401x  \n",
       "                         FP32-DT                -  \n",
       "                         FHE-XGB             555x  \n",
       "                         FP32-XGB               -  \n",
       "                         FHE-RF              883x  \n",
       "                         FP32-RF                -  \n",
       "adult (#features: 14)    FHE-DT              548x  \n",
       "                         FP32-DT                -  \n",
       "                         FHE-XGB             673x  \n",
       "                         FP32-XGB               -  \n",
       "                         FHE-RF             2073x  \n",
       "                         FP32-RF                -  \n",
       "steel (#features: 33)    FHE-DT              346x  \n",
       "                         FP32-DT                -  \n",
       "                         FHE-XGB             423x  \n",
       "                         FP32-XGB               -  \n",
       "                         FHE-RF              899x  \n",
       "                         FP32-RF                -  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import math\n",
    "\n",
    "import pandas as pd\n",
    "\n",
    "df = pd.DataFrame.from_dict(\n",
    "    {(i, j): value for i, scores in scores_global.items() for j, value in scores.items()},\n",
    "    orient=\"index\",\n",
    ")\n",
    "\n",
    "\n",
    "df[\"FHE/Clear ratio\"] = (df[\"inference_time\"] / df[\"inference_time\"].shift(-1)).apply(\n",
    "    lambda x: \"\" if (x < 1) or (math.isnan(x)) else str(int(round(x, 0))) + \"x\"\n",
    ")\n",
    "\n",
    "\n",
    "def format_scores(val):\n",
    "    if isinstance(val, list):\n",
    "        if not val:\n",
    "            return \"-\"\n",
    "        return f\"{np.mean(val) * 100:.1f}\\\\% ± {np.std(val) * 100:.1f}\\\\%\"\n",
    "\n",
    "    if pd.isna(val):\n",
    "        return \"-\"\n",
    "\n",
    "    if isinstance(val, (float, int)):\n",
    "        # To ensure all floating point values are treated as percentages\n",
    "        return f\"{val:.3f}\"\n",
    "\n",
    "    if \"x\" in str(val):  # Ensure that val is treated as a string\n",
    "        return val\n",
    "\n",
    "    return \"-\"\n",
    "\n",
    "\n",
    "df = df.applymap(format_scores)\n",
    "\n",
    "# Renaming for display\n",
    "model_names = {\n",
    "    \"DecisionTreeClassifier_concrete\": \"FHE-DT\",\n",
    "    \"DecisionTreeClassifier_fp32\": \"FP32-DT\",\n",
    "    \"XGBClassifier_concrete\": \"FHE-XGB\",\n",
    "    \"XGBClassifier_fp32\": \"FP32-XGB\",\n",
    "    \"RandomForestClassifier_concrete\": \"FHE-RF\",\n",
    "    \"RandomForestClassifier_fp32\": \"FP32-RF\",\n",
    "}\n",
    "\n",
    "for original, renamed in model_names.items():\n",
    "    df.index = df.index.set_levels(df.index.levels[1].str.replace(original, renamed), level=1)\n",
    "\n",
    "df.columns = df.columns.str.replace(\"average_precision\", \"AP\")\n",
    "\n",
    "# Reordering Columns\n",
    "columns_order = [col for col in df if col not in [\"FHE/Clear ratio\", \"inference_time\"]] + [\n",
    "    \"inference_time\",\n",
    "    \"FHE/Clear ratio\",\n",
    "]\n",
    "df = df[columns_order]\n",
    "\n",
    "# Drop and rename columns\n",
    "df.columns = df.columns.str.replace(\"inference_time\", \"Time (s)\")\n",
    "df.drop(columns=[\"precision\", \"recall\"], inplace=True)\n",
    "\n",
    "# Adjust LaTeX output\n",
    "latex_code = df.to_latex(multirow=True, escape=False, column_format=\"l|l|l|l|l|l|l|l\")\n",
    "\n",
    "latex_code = latex_code.replace(\"#\", \"\\\\#\")\n",
    "display(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Experiments Figure 2. - Impact of the precision"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier with 1-bits:\n",
      "Average precision: 0.408932530057913\n",
      "Average precision (fp32): 0.8240131348716936\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier with 1-bits:\n",
      "Average precision: 0.39404467418842154\n",
      "Average precision (fp32): 0.9046696576909921\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier with 1-bits:\n",
      "Average precision: 0.39404467418842154\n",
      "Average precision (fp32): 0.8601540794231147\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier with 2-bits:\n",
      "Average precision: 0.5783561241072402\n",
      "Average precision (fp32): 0.8240131348716936\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier with 2-bits:\n",
      "Average precision: 0.6247177037498485\n",
      "Average precision (fp32): 0.9046696576909921\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier with 2-bits:\n",
      "Average precision: 0.5692185974635017\n",
      "Average precision (fp32): 0.8601540794231147\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier with 3-bits:\n",
      "Average precision: 0.6809716709773868\n",
      "Average precision (fp32): 0.8240131348716936\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier with 3-bits:\n",
      "Average precision: 0.7950698031111193\n",
      "Average precision (fp32): 0.9046696576909921\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier with 3-bits:\n",
      "Average precision: 0.7371651377079289\n",
      "Average precision (fp32): 0.8601540794231147\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier with 4-bits:\n",
      "Average precision: 0.733924323832143\n",
      "Average precision (fp32): 0.8240131348716936\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier with 4-bits:\n",
      "Average precision: 0.8521287716294133\n",
      "Average precision (fp32): 0.9046696576909921\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier with 4-bits:\n",
      "Average precision: 0.8056925848877744\n",
      "Average precision (fp32): 0.8601540794231147\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier with 5-bits:\n",
      "Average precision: 0.8101306169806723\n",
      "Average precision (fp32): 0.8240131348716936\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier with 5-bits:\n",
      "Average precision: 0.878407427344724\n",
      "Average precision (fp32): 0.9046696576909921\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier with 5-bits:\n",
      "Average precision: 0.8304046578932958\n",
      "Average precision (fp32): 0.8601540794231147\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier with 6-bits:\n",
      "Average precision: 0.8426735780163795\n",
      "Average precision (fp32): 0.8240131348716936\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier with 6-bits:\n",
      "Average precision: 0.8964789946563898\n",
      "Average precision (fp32): 0.9046696576909921\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier with 6-bits:\n",
      "Average precision: 0.8459941433803378\n",
      "Average precision (fp32): 0.8601540794231147\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier with 7-bits:\n",
      "Average precision: 0.8440934158260279\n",
      "Average precision (fp32): 0.8240131348716936\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier with 7-bits:\n",
      "Average precision: 0.8987745041709022\n",
      "Average precision (fp32): 0.9046696576909921\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier with 7-bits:\n",
      "Average precision: 0.8523380007137836\n",
      "Average precision (fp32): 0.8601540794231147\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier with 8-bits:\n",
      "Average precision: 0.8329951951056004\n",
      "Average precision (fp32): 0.8240131348716936\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier with 8-bits:\n",
      "Average precision: 0.9012936586221614\n",
      "Average precision (fp32): 0.9046696576909921\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier with 8-bits:\n",
      "Average precision: 0.8527017103592347\n",
      "Average precision (fp32): 0.8601540794231147\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DecisionTreeClassifier with 9-bits:\n",
      "Average precision: 0.8344647983632885\n",
      "Average precision (fp32): 0.8240131348716936\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "XGBClassifier with 9-bits:\n",
      "Average precision: 0.904057847352071\n",
      "Average precision (fp32): 0.9046696576909921\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RandomForestClassifier with 9-bits:\n",
      "Average precision: 0.8579231686644472\n",
      "Average precision (fp32): 0.8601540794231147\n"
     ]
    }
   ],
   "source": [
    "def evaluate_model(X, y, model, rkf):\n",
    "    \"\"\"Evaluate a given model and return its scores.\"\"\"\n",
    "    scores = {\"precision\": [], \"recall\": [], \"accuracy\": [], \"f1\": [], \"average_precision\": []}\n",
    "    scores_fp32 = {\"precision\": [], \"recall\": [], \"accuracy\": [], \"f1\": [], \"average_precision\": []}\n",
    "\n",
    "    metric_func_to_key = {\n",
    "        \"precision_score\": \"precision\",\n",
    "        \"recall_score\": \"recall\",\n",
    "        \"f1_score\": \"f1\",\n",
    "        \"average_precision_score\": \"average_precision\",\n",
    "    }\n",
    "\n",
    "    for train_index, test_index in rkf.split(X):\n",
    "        X_train, X_test = X[train_index], X[test_index]\n",
    "        y_train, y_test = y[train_index], y[test_index]\n",
    "\n",
    "        concrete_model, sklearn_model = model.fit_benchmark(X_train, y_train)\n",
    "\n",
    "        for model_instance, score_dict in [(concrete_model, scores), (sklearn_model, scores_fp32)]:\n",
    "            y_pred = model_instance.predict(X_test)\n",
    "            for metric_func in [precision_score, recall_score, average_precision_score, f1_score]:\n",
    "                score_key = metric_func_to_key[metric_func.__name__]\n",
    "                score_dict[score_key].append(metric_func(y_test, y_pred))\n",
    "            score_dict[\"accuracy\"].append(accuracy_score(y_test, y_pred))\n",
    "\n",
    "    return scores, scores_fp32\n",
    "\n",
    "\n",
    "rkf = RepeatedKFold(n_splits=5, n_repeats=3, random_state=0)\n",
    "X, y = datasets[\"spambase\"][\"X\"].astype(np.float32), datasets[\"spambase\"][\"y\"]\n",
    "assert len(set(y)) == 2\n",
    "if y.dtype not in [np.int32, bool]:\n",
    "    print(f\"Unexpected datatype for y in dataset spambase: {y.dtype}\")\n",
    "\n",
    "scores_global = {}\n",
    "\n",
    "for n_bits in n_bits_list:\n",
    "    scores_global[n_bits] = {}\n",
    "\n",
    "    for model_cls, params in model_hyperparameters.items():\n",
    "        model_instance = model_cls(n_bits=n_bits, **params)\n",
    "        scores, scores_fp32 = evaluate_model(X, y, model_instance, rkf)\n",
    "\n",
    "        model_name = model_cls.__name__\n",
    "        scores_global[n_bits][model_name + \"_concrete\"] = scores\n",
    "        scores_global[n_bits][model_name + \"_fp32\"] = scores_fp32\n",
    "\n",
    "        print(f\"{model_name} with {n_bits}-bits:\")\n",
    "        print(\"Average precision:\", np.mean(scores[\"average_precision\"]))\n",
    "        print(\"Average precision (fp32):\", np.mean(scores_fp32[\"average_precision\"]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# P-Error search"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      "  0%|          | 0/14 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      "  7%|▋         | 1/14 [02:02<26:31, 122.43s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      " 14%|█▍        | 2/14 [03:31<20:32, 102.74s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      " 21%|██▏       | 3/14 [04:53<17:07, 93.40s/it] "
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      " 29%|██▊       | 4/14 [06:14<14:43, 88.30s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      " 36%|███▌      | 5/14 [07:33<12:45, 85.06s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      " 43%|████▎     | 6/14 [08:44<10:43, 80.43s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      " 50%|█████     | 7/14 [10:13<09:42, 83.26s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      " 57%|█████▋    | 8/14 [11:31<08:08, 81.41s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      " 64%|██████▍   | 9/14 [12:43<06:32, 78.45s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      " 71%|███████▏  | 10/14 [13:57<05:08, 77.04s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      " 79%|███████▊  | 11/14 [14:54<03:32, 70.95s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      " 86%|████████▌ | 12/14 [15:50<02:12, 66.45s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      " 93%|█████████▎| 13/14 [16:29<00:58, 58.22s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      "100%|██████████| 14/14 [17:14<00:00, 54.10s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r\n",
      "100%|██████████| 14/14 [17:14<00:00, 73.89s/it]"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from tqdm import tqdm\n",
    "\n",
    "\n",
    "def evaluate_model_on_error_rates(X_train, X_test, y_test, concrete_model, p_error_list):\n",
    "    \"\"\"Evaluate the concrete model on different error rates and return accuracy and time taken.\"\"\"\n",
    "    acc_scores = []\n",
    "    time_scores = []\n",
    "    real_p_error_list = []\n",
    "\n",
    "    for p_error in tqdm(p_error_list):\n",
    "        concrete_model.compile(X_train, p_error=p_error)\n",
    "        real_p_error_list.append(concrete_model.fhe_circuit.p_error)\n",
    "        concrete_model.fhe_circuit.keygen(force=False)\n",
    "\n",
    "        start_time = time.time()\n",
    "        y_pred = concrete_model.predict(X_test, fhe=\"execute\")\n",
    "        end_time = time.time()\n",
    "\n",
    "        acc_scores.append(accuracy_score(y_pred, y_test))\n",
    "        time_scores.append(end_time - start_time)\n",
    "\n",
    "    return acc_scores, time_scores, real_p_error_list\n",
    "\n",
    "\n",
    "plt.rcParams.update({\"font.size\": 16})\n",
    "n_bits = 6\n",
    "p_error_list = [2e-40, 1e-6, 1e-5, 1e-4, 0.001, 0.005, 0.01, 0.05, 0.1, 0.3, 0.5, 0.7, 0.9, 0.95]\n",
    "X, y = datasets[\"spambase\"][\"X\"].astype(np.float32), datasets[\"spambase\"][\"y\"]\n",
    "\n",
    "clf = DecisionTreeClassifier(n_bits=n_bits, **model_hyperparameters[DecisionTreeClassifier])\n",
    "rkf = RepeatedKFold(n_splits=20, n_repeats=3, random_state=0)\n",
    "\n",
    "for train_index, test_index in rkf.split(X):\n",
    "    X_train, X_test = X[train_index], X[test_index]\n",
    "    y_train, y_test = y[train_index], y[test_index]\n",
    "\n",
    "    concrete_model, _ = clf.fit_benchmark(X_train, y_train)\n",
    "\n",
    "    # Calculating num_nodes using analyze_gemm_computation function\n",
    "    shapes = analyze_gemm_computation(concrete_model)\n",
    "    num_nodes = shapes[0][0]\n",
    "\n",
    "    acc_scores, time_p_error, real_p_error_list = evaluate_model_on_error_rates(\n",
    "        X_train, X_test, y_test, concrete_model, p_error_list\n",
    "    )\n",
    "    break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "The PostScript backend does not support transparency; partially transparent artists will be rendered opaque.\n"
     ]
    },
    {
     "data": {
      "image/png": "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REQkYYsSERERkQwmSkREREQyOOuNiIiISEZpviguEyUiIiIqVOx6IyIiIpJh2PXGWW9EREREErYoEREREcngGCUiIiIiGZz1RkRERCTDySnnPrveiIiIiPQoFDndb6mpHMxNREREZEDX/ZaWVrz1sBYTJSIiIip0OS1KxVsPazFRIiIiokKna1HiYG4iIiKiXNiiRERERCRDlyhlZCiQlVW8dbEGEyUiIiIqdPprKWVkKIuvIlZiokRERESFTn917vR0JkpEREREEiZKRERERDLY9UZEREQkgy1KRERERDKYKBERERHJYNcbERERkQy2KBERERHJYKJEREREJINdb0REREQy2KJEREREJEM/UWKLEhEREZEe/a43tigRERER6WHXGxEREZEMdr0RERERyWDXGxEREZEMtigRERERyWCLEhEREZEMDuYmIiIiksGVuYmIiIhkODgA9vba+2xRsqGNGzeiW7duKF++PFxdXdGsWTMsWrQIGo0m32X+/vvvGDBgAKpWrQpHR0dUrlwZHTp0wNy5c21YcyIiItKn635ji5KNTJgwAUOGDMGxY8fQpk0b9O3bF1FRUZg6dSp69OiBJ0+eWFVeRkYGhgwZgoEDB2L//v1o1KgRBg0ahMaNG+P69etYsmRJIZ0JERER6RKl0tSiZF/cFZCzdetWhISEQK1W48iRI2jRogUAICYmBj169MDRo0cRGBiIxYsXW1zm22+/jY0bN2LgwIH44Ycf4OnpKe3Lzs7G33//bfPzICIiIi3dOKXSlCiV2BalefPmAQCmTZsmJUkA4OnpiW+//RYAsHTpUiQkJFhU3oEDB7BmzRo0btwYGzZsMEiSAMDOzg7t2rWzUe2JiIgoN3a92cidO3cQFhYGABg+fLjR/k6dOsHb2xvp6ekIDQ21qMyvv/4agLY7z8HBwXaVJSIiIovod70JUbx1sVSJ7HqLiIgAAFSoUAG+vr4mY1q1aoXo6GhERERg2LBhZsvLysrCgQMHAABdunTB/fv3sW7dOly+fBkqlQr+/v545ZVXoFarbXsiREREJNF1vQmhQHo64OhYvPWxRIlMlCIjIwEANWvWlI3x9vY2iDXnxo0bSE5OBgD89ddfGDNmjPS7zscff4x169ahR48e+a02ERERmaG/6OSTJ4CbW/HVxVIlMlFKSkoCALi6usrG6Fp/EhMT8ywv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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "The PostScript backend does not support transparency; partially transparent artists will be rendered opaque.\n"
     ]
    },
    {
     "data": {
      "image/png": "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asvs2LED/v7+cHNzg42NDSpVqoQxY8bg1atXKmW3bduGbt26oXz58rC3t0fNmjXx888/IzMzU23bd+7cwVdffYV69erBysoKXl5euHPnDjp06ABHR0e4ublh2LBhSElJ0fHRUo+TkRIREZGSn3/+GRMnTsS4ceMwb948pKSk4NSpU0hLS1Nb/vfff0fNmjUV9+3t7bW2HxwcjJcvX2otExcXh+bNm+O7776Di4sLrl27hunTp+PKlSs4evSoUtmffvoJXl5emD9/Ptzd3XHu3DlMmTIFV69exdq1a1Xavn79Ovbu3YuGDRtCCIHY2Fi0aNECZcuWxdatWxEXF4cxY8bgxYsX2L59u9Y4tRJERERE/y8yMlJYWVmJpUuX5ln2+PHjAoA4f/68zu1HRUUJJycnsXbtWgFAbNy4Uee6K1euFADEw4cPlZZHR0erlJ05c6YAIJ4/f66yLjs7W/H/0KFDRbFixYStra148eKFYvn27dsFABESEqJzfG/i4UIiIiJSWLVqFaytrTF48GCTtD969Gh07twZH374od51XV1dAUDlMGDJkiVVytavXx8A8PTpU5V1b15z8PXr12jRogVKlSqlWNa5c2c4Ojpi7969escpx8OFREREb1FERAQOHTqES5cu4dKlS7h58yays7Mxc+ZMTJkyRaeyXl5eiI+PR0ZGBipXroxPP/0UHTp0wPHjx3Uq++233+LevXtKbd+4cQM5OTmKBMTb2xvJyclITExE5cqV0aJFC7x+/Vqp7dKlSwMAGjduDABwcHBAnz598MUXX+Dff/9Vadva2hoZGRl47733sHz5co2P0datW/Hjjz8iPDwcGRkZsLS0REZGBoQQqFq1Kry9vfN8nFeuXAmJRIKPPvoImZmZSvtuZWWlVDYzMxM1atRQWmZpaYmqVavi5s2beT+pmhjcB0ZERER6GzVqlACgcps5c6bOZS0sLESbNm1E9+7dRbFixQQAUbZsWZ3L+vv7i2+++UZteSsrKyGVSoVEIhEARM2aNUWFChU0tl2hQgXRuHFj4ejoKAAIqVQqXF1d1Za3tLQUPj4+ijgAiLVr16rdZ/n237xNmDAhz8f4s88+07rvqampirJDhw7V+Pi3bNlStG7d2oBnWYZJFhER0Vv022+/iXHjxom//vpL3Lx5U/Tv31/jl3zusosWLVIkGl9//bWizMuX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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_metrics_vs_error_rates(\n",
    "    metric_values, model_name, num_nodes, xlabel, ylabel, filename, red_line_value\n",
    "):\n",
    "    \"\"\"Plot the metrics against error rates.\"\"\"\n",
    "    _, ax = plt.subplots(figsize=(10, 6))\n",
    "\n",
    "    plt.plot(\n",
    "        [real_p_error_list[0], real_p_error_list[-1]],\n",
    "        [red_line_value, red_line_value],\n",
    "        color=\"red\",\n",
    "        linewidth=2,\n",
    "        label=\"p_error=2E-40\",\n",
    "    )\n",
    "    plt.plot(real_p_error_list, metric_values, color=\"blue\", linewidth=2, marker=\"x\")\n",
    "    plt.grid(True)\n",
    "    plt.legend()\n",
    "    plt.title(f\"{model_name} {num_nodes} nodes\")\n",
    "    plt.xlabel(xlabel)\n",
    "    plt.ylabel(ylabel)\n",
    "    plt.semilogx()\n",
    "    plt.xticks(10.0 ** np.arange(-6, 1))\n",
    "    ax.set_rasterized(True)\n",
    "    plt.savefig(filename, bbox_inches=\"tight\", dpi=300)\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "# Plotting accuracy vs error rates\n",
    "plot_metrics_vs_error_rates(\n",
    "    acc_scores,\n",
    "    \"DecisionTreeClassifier\",\n",
    "    num_nodes,\n",
    "    \"$p_{error}$\",\n",
    "    \"Metric\",\n",
    "    \"DecisionTreeClassifier\" + \"acc_p_error.eps\",\n",
    "    0.91,\n",
    ")\n",
    "\n",
    "# Plotting execution time per data point vs error rates\n",
    "plot_metrics_vs_error_rates(\n",
    "    np.asarray(time_p_error) / X_test.shape[0],\n",
    "    \"DecisionTreeClassifier\",\n",
    "    num_nodes,\n",
    "    \"$p_{error}$\",\n",
    "    \"Execution time\",\n",
    "    \"DecisionTreeClassifier\" + \"speed_p_error.eps\",\n",
    "    1.807,\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Speed vs bitwidth"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "The PostScript backend does not support transparency; partially transparent artists will be rendered opaque.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ap relative: [0.49626943 0.70187731 0.82640876 0.89067066 0.98315255 1.02264581\n",
      " 1.02436888 1.01090038 1.01268386], f1_relative: [0.06488922 0.65490682 0.87590196 0.90861806 0.97920588 1.00604989\n",
      " 1.00914511 1.00274636 1.00389957]\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "The PostScript backend does not support transparency; partially transparent artists will be rendered opaque.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ap relative: [0.43556747 0.69054787 0.87885097 0.94192257 0.97097036 0.99094624\n",
      " 0.99348364 0.99626825 0.99932372], f1_relative: [0.         0.65970362 0.91404942 0.95773723 0.97789164 0.99281277\n",
      " 0.99447789 0.99697611 0.99969255]\n"
     ]
    },
    {
     "data": {
      "image/png": "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tG7dWqswLSohIYGffvoJOzs7JkyYoHU4Jrd69WpGjBjBp59+ys6dO+nZsye2trakpqZy6dIlJkyYwLJly7QO06SaN28OwLlz56otv33/+fPna1xv4/rTQphUaWkp48ePJy8vj6CgICZPnqx1SGaTnp7OunXr+Pzzz4mLi6OgoICnn36a6OjoSus3NhRxcXGsWrWKJ598kscee0zrcCyma9euLF68mJMnT5Kfn8/Vq1eJi4ujb9++XL58mZEjR3LgwAGtwzSpnJwcAFJTU1m4cCFTpkzh1KlT5OXlsWfPHjp06EBqaiqPPPIIJSUlGkdrGWvWrAEq7jI3pC4tg44dO3L06FGGDh3KpUuX+Prrr9myZQvnz58nMDCQgQMH4uLionWYJjVo0CAAvv32W1JTU6uUr1y50ridn59f84pNMmKrEWvoA23vxjCg3NPTU506dUrrcCyiuLhY/fTTT+rDDz9U7u7uysPDQyUkJGgdlknl5uYqX19fdd9996lr165VKmusn/fy8nI1atQoBaiuXbtqHY5JzZs3zzjQ+KmnnqpS/vPPPysHBwcFqPXr12sQoWXl5eWpZs2aKUDt2rVL63DM4tChQ6p58+aqZcuWKiYmRl25ckVdv35dbd++XbVv314B6rnnntM6TJN76KGHFKB8fX3Vtm3bVG5urjp79qx67bXXlE6nU3q9XgFqwYIFNa5Tkqh71Fi/VAxPbLm7uzeoJzhqIykpSel0OuXn51fpcdn6LioqSgFq48aNVcoa6+ddKaVOnDhhTDYyMzO1Dsdkli5damzXgQMHqj1mzJgxClDPPvushaOzvFWrVhm/aMvKyrQOx+R+/fVXdd999ymdTlftU4dnz541JpH79u3TIELzuXr1qurXr5/x8377a9q0aapnz54KUJ9++mmN65QxUaLWXnvtNZYsWYKbmxtxcXHGp/Mamz59+nD//ffz/fffc/z4cfr37691SCYRGxtLkyZNWL58OcuXL69U9uOPPwLw2WefER8fj4+PD19++aUWYVpc586djdsXL15sMINu27ZtW+12dcdcvnzZIjFpydCVFxUV1SAH0+/cuZNr167Rrl27ap86bNu2LX369GH//v3Ex8fz8MMPaxCleTRv3pyDBw8SHx/Pvn37yMnJwdvbm1GjRtGzZ0/jpMlBQUE1rlOSKFErM2bM4J///Ceurq7E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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "The PostScript backend does not support transparency; partially transparent artists will be rendered opaque.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ap relative: [0.45810941 0.66176353 0.85701522 0.93668402 0.96541385 0.98353791\n",
      " 0.99091316 0.99133601 0.99740638], f1_relative: [0.         0.57332946 0.87035559 0.9402579  0.96505021 0.983713\n",
      " 0.99082334 0.99224022 0.99758998]\n"
     ]
    },
    {
     "data": {
      "image/png": "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/NzunTt30qxZM5o0aWIySW52tvvo0aN0796dpKQkgoOD8fHxQafT4evri42NDR988AGr9elOksmKv4H8/H6nRtqd99ttY2ODTqez6LfJGr9duTKI0qcciIiIIDQ01OwdegcPHgQwyiFliVWrVtGrVy8SExP56quvGDhwYOYrnBXkrjwhCpRVq1YRHx/PuHHj+PDDD02216tXj8qVK1OzZk1q1KjBgAED2LVrVw7UVAihlyuDqFKlSlGnTh0OHDjAjz/+yLvvvmu0fe/evVy6dAlHR0fatm1rcblr1qyhR48eJCQk8NVXXzFo0CBrV906EhPh11+1587OkI42CiHyposXLwKkODZzzJgx2VkdIYQFcm2/3bhx4wCYOnUqhw8fNqyPiIhgyJAhALz++ut4JLvMtXLlSoKCgmjevLlJeevXr6dbt24kJCQwd+7c3BtAAezZAzdvas/btNHSGwiRQQ8ePODzzz+nYcOGFClSBEdHRwICAmjfvj0//vijyb5Tp06lZs2aFCpUCBcXFypXrsz48eO5c+eOSdlhYWHodDoCAwNRSjFv3jxq1aqFq6srHh4etGrVij/++MMqdWvatCk6nY6dO3eyZ88e2rdvT9GiRbGxsWHhwoWG/WJiYpgxYwb16tWjcOHCODk5UbFiRd555x2TMRBNmzalWbNmAOzatQudTmd4mBsqsG3bNrp06YKPjw8ODg4UK1aMzp07p9rGtEyaNAmdTseCBQsA6N+/v6EOTZs2zXC5Qoislyt7ogA6derEsGHD+OKLL6hXrx7NmzfH1dWVbdu2cefOHRo0aMDkyZONjomKiuL06dPExsYarb958yZdunTh4cOHlCpVin379rFv3z6z550+fTre3t5Z1i6LyKU8YSWXLl2idevWnDx5EhcXFxo0aICXlxdXrlxhz549HD9+3DArwO3bt2nevDlHjx7F3d2d4OBg7O3t2bVrFx999BFLlixh+/btlClTxuy5+vfvz48//kijRo1o164dR48eZcuWLezevZtdu3ZRt27dDNctueXLlzN37lyCgoJo0aIFt2/fNoxTvHr1Kq1bt+b48eN4enpSp04dChUqxOHDh/nkk09Yvnw5O3fuJCAgAIDWrVvj5OTEpk2bKF68OK1btzac58nvgbfffpsZM2ZgY2ND7dq1adSoERcvXmT16tWsWbOG+fPn079/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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the metrics vs n_bits for each model\n",
    "plt.rcParams.update({\"font.size\": 16})\n",
    "for cls in model_hyperparameters:\n",
    "    fig, ax = plt.subplots(figsize=(10, 6))\n",
    "\n",
    "    f1_scores = []\n",
    "    f1_scores_fp32 = []\n",
    "\n",
    "    average_precision_scores = []\n",
    "    average_precision_scores_fp32 = []\n",
    "\n",
    "    for n_bits in n_bits_list:\n",
    "        average_precision_scores.append(\n",
    "            np.mean(scores_global[n_bits][cls.__name__ + \"_concrete\"][\"average_precision\"])\n",
    "        )\n",
    "        average_precision_scores_fp32.append(\n",
    "            np.mean(scores_global[n_bits][cls.__name__ + \"_fp32\"][\"average_precision\"])\n",
    "        )\n",
    "\n",
    "        f1_scores.append(np.mean(scores_global[n_bits][cls.__name__ + \"_concrete\"][\"f1\"]))\n",
    "        f1_scores_fp32.append(np.mean(scores_global[n_bits][cls.__name__ + \"_fp32\"][\"f1\"]))\n",
    "\n",
    "    # plt.legend()\n",
    "    ap_relative = np.array(average_precision_scores) / average_precision_scores_fp32\n",
    "    f1_relative = np.array(f1_scores) / f1_scores_fp32\n",
    "    print(f\"ap relative: {ap_relative}, f1_relative: {f1_relative}\")\n",
    "    plt.plot(\n",
    "        n_bits_list,\n",
    "        average_precision_scores,\n",
    "        label=\"concrete_average_precision\",\n",
    "        color=\"blue\",\n",
    "        linewidth=2,\n",
    "    )\n",
    "    plt.plot(\n",
    "        n_bits_list,\n",
    "        average_precision_scores_fp32,\n",
    "        label=\"fp32_average_precision\",\n",
    "        color=\"blue\",\n",
    "        linewidth=2,\n",
    "        linestyle=\"dashed\",\n",
    "    )\n",
    "\n",
    "    plt.plot(n_bits_list, f1_scores, label=\"concrete_f1\", linewidth=2, color=\"red\")\n",
    "    plt.plot(\n",
    "        n_bits_list, f1_scores_fp32, label=\"fp32_f1\", color=\"red\", linewidth=2, linestyle=\"dashed\"\n",
    "    )\n",
    "\n",
    "    plt.grid(True)\n",
    "    plt.xlim([1, 9])\n",
    "    plt.ylim([0, 1])\n",
    "    plt.xticks(np.arange(1, 10))\n",
    "    plt.legend()\n",
    "\n",
    "    plt.title(cls.__name__)\n",
    "    plt.xlabel(\"Bitwidth\")\n",
    "    plt.ylabel(\"Metric\")\n",
    "    # Save the figure\n",
    "\n",
    "    # Rasterize the axes to handle transparency\n",
    "    ax.set_rasterized(True)\n",
    "    plt.savefig(cls.__name__ + \".eps\", bbox_inches=\"tight\", dpi=300)\n",
    "\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 1, 'op_leaves': 1}\n",
      "0.2823374271392822\n",
      "8\n",
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 2, 'op_leaves': 2}\n",
      "0.4151124954223633\n",
      "20\n",
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 3, 'op_leaves': 3}\n",
      "0.37416601181030273\n",
      "20\n",
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 4, 'op_leaves': 4}\n",
      "0.5053842067718506\n",
      "21\n",
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 5, 'op_leaves': 5}\n",
      "0.6664347648620605\n",
      "25\n",
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 6, 'op_leaves': 6}\n",
      "0.6958138942718506\n",
      "23\n",
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 7, 'op_leaves': 7}\n",
      "0.7767293453216553\n",
      "24\n",
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 8, 'op_leaves': 8}\n",
      "0.7453229427337646\n",
      "22\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n",
      "Predict in FHE\n",
      "{'op_inputs': 1, 'op_leaves': 1}\n",
      "0.008694171905517578\n",
      "200\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 2, 'op_leaves': 2}\n",
      "0.26419830322265625\n",
      "350\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 3, 'op_leaves': 3}\n",
      "0.27142930030822754\n",
      "350\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 4, 'op_leaves': 4}\n",
      "0.5824518203735352\n",
      "350\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 5, 'op_leaves': 5}\n",
      "0.8332271575927734\n",
      "350\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 6, 'op_leaves': 6}\n",
      "1.0524301528930664\n",
      "350\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 7, 'op_leaves': 7}\n",
      "0.9568302631378174\n",
      "350\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 8, 'op_leaves': 8}\n",
      "1.0244622230529785\n",
      "350\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 1, 'op_leaves': 1}\n",
      "0.3596482276916504\n",
      "400\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 2, 'op_leaves': 2}\n",
      "0.40879082679748535\n",
      "650\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 3, 'op_leaves': 3}\n",
      "0.6357009410858154\n",
      "700\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 4, 'op_leaves': 4}\n",
      "1.4530513286590576\n",
      "750\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 5, 'op_leaves': 5}\n",
      "1.9984874725341797\n",
      "750\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 6, 'op_leaves': 6}\n",
      "2.2012531757354736\n",
      "750\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 7, 'op_leaves': 7}\n",
      "1.7295961380004883\n",
      "750\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Compiling and keygen...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predict in FHE\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'op_inputs': 8, 'op_leaves': 8}\n",
      "2.6791625022888184\n",
      "750\n"
     ]
    }
   ],
   "source": [
    "def predict_with_fhe(clf, X_sample):\n",
    "    \"\"\"Predict using FHE and return elapsed time.\"\"\"\n",
    "    print(\"Compiling and keygen...\")\n",
    "    clf.compile(X_sample[:100])\n",
    "    clf.fhe_circuit.keygen(force=False)\n",
    "\n",
    "    print(\"Predict in FHE\")\n",
    "    start_time = time.time()\n",
    "    _ = clf.predict(X_sample[:1], fhe=\"execute\")\n",
    "    end_time = time.time()\n",
    "\n",
    "    return end_time - start_time\n",
    "\n",
    "\n",
    "def analyze_and_store(clf, X_sample, nodes_dict, scores_dict):\n",
    "    \"\"\"Analyze the model and store results.\"\"\"\n",
    "    elapsed_time = predict_with_fhe(clf, X_sample)\n",
    "\n",
    "    model_name = clf.__class__.__name__\n",
    "    if model_name not in nodes_dict:\n",
    "        nodes_dict[model_name] = []\n",
    "        scores_dict[model_name] = []\n",
    "\n",
    "    scores_dict[model_name].append(elapsed_time)\n",
    "\n",
    "    shapes = analyze_gemm_computation(clf)\n",
    "    nodes_dict[model_name].append(shapes[0][0])\n",
    "\n",
    "    print(clf.n_bits)\n",
    "    print(scores_dict[model_name][-1])\n",
    "    print(nodes_dict[model_name][-1])\n",
    "\n",
    "\n",
    "X, y = datasets[\"spambase\"][\"X\"], datasets[\"spambase\"][\"y\"]\n",
    "nodes_dict = {}\n",
    "scores_dict = {}\n",
    "\n",
    "for model_name, hyperparameters in model_hyperparameters.items():\n",
    "    for n_bits in n_bits_list:\n",
    "        clf = model_name(n_bits=n_bits, **hyperparameters)\n",
    "        clf.fit(X, y)\n",
    "\n",
    "        if n_bits < 9:\n",
    "            analyze_and_store(clf, X, nodes_dict, scores_dict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2UAAAI7CAYAAABshTNgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABsl0lEQVR4nO3deViU9f7/8deAIwoIopj7llaWmvuSS5pFLpWZ2UamtpxO+1HL1NRfeuyUbZ4oaT+mp+Jk+VUrs5LMNDXNPcsKK03UUkFlUFzG4f79cccIsg0j+GGG5+O65hLmXuY993tQX3zu+3M7LMuyBAAAAAAwIsR0AQAAAABQkRHKAAAAAMAgQhkAAAAAGEQoAwAAAACDCGUAAAAAYBChDAAAAAAMIpQBAAAAgEGEMgAAAAAwiFAGAAAAAAYRygCUW7NmzZLD4fDp0bt37zzb7tixw7ts8uTJPr1ezvojRozItyz3/nx97Nixo8TvuXfv3iV6DV/fG/Jq0qQJx6+MjBgxosDPqtPpVK1atdS7d28988wzOnTokOlS/VYWn5+c43b632UAKgZCGQAgKOQO8Sh/Tp48qbS0NC1btkxjx45Vy5YttW7dOtNlAUC5UMl0AQDgi0WLFqlnz56FLg8NDT1rtYwfP16PPfZYsetFRET4/RqNGjXSDz/8UOx6lStX9vs1gLKWmZnp/frkyZP69ddfNWPGDM2aNUt79uzRNddco59//llRUVEGqwQA8whlAAJC1apVFRkZaboMSXYQKutaHA5HuXm/wcifU0tRcqd/hjt06KC33npLkj2y+eeff+r111/XI488YqI8v5XF52fWrFmaNWtWqe8XQGDg9EUAAHBW5b4WKzk52VwhAFBOEMoAIEgcOXJELVq0kMPh0LnnniuXy1Xger///ruqV68uh8Ohyy+/XNnZ2fnW2bRpk+6++26df/75ioyMVEREhC666CKNHj1au3fvLraWzMxMPfvss+rdu7fOOecchYWFqX79+urWrZumTJmin3/+Oc/6vl4PVtBkCDmTsNx+++3e5wqaaCI3XyZqSE9P16RJk9S+fXtVr15dVapUUZMmTTRs2DB9++23hW731Vdf5Zns5ciRI/rnP/+pVq1aKSIiQtHR0erdu7fmzp1b5HstzBtvvOHd/2+//Vbkur/++qt33VdeeSXPsiNHjuiZZ55Rt27dVKNGDe9EHBdddJFuuOEGvfHGGzpy5IhfNRancePG3lG0Xbt2eZ8//XOwa9cujRo1ShdccIEiIiIKnEDnzz//1IQJE9ShQwfFxMQoLCxMjRo10tChQ4vsU47s7GwlJSXpuuuuU4MGDVSlShXFxsaqbdu2euCBB7R8+fJ82xT3+fn+++919913q0WLFoqIiFCVKlXUoEEDdezYUf/4xz+0ZMmSfNv4MtGH2+3Wq6++qj59+qhWrVqqXLmy6tSpo6uvvlpz5syRZVmFbptzXHNG42bPnq0ePXooJiZG4eHhatOmjZ555hmdOHGiyOMFoIxYAFBOvfXWW5YkS5K1dOnSEm27fft277aPP/64T9vkrD98+PBS2Z8/evXqZUmyGjdu7Nf2GzZssCpXrmxJsuLj4/MtP3nypNWtWzdLklWzZk1r9+7deZZnZ2dbjz76qOVwOLzv9/RHZGSktWjRokJrWLp0qVWrVq1Ct5dk9erVK882uXtdlOHDh+fbPndvinrk1rhx4yJ7uWzZMismJqbI/Y0bN67Q95+zzjfffGNdeOGFhe5j6tSpRb7fghw8eNAKCwuzJFlTpkwpct3JkydbkqzKlStb6enp3uf37NljnXfeecUes7Vr15a4vpweFdfLatWqWZKsCy+80Ptc7s/BmjVrrBo1auSrafv27d7133//fSsiIqLI9/DPf/6z0Bp27txpdejQoUSfHcsq+vPzv//9z6pUqVKR+2vZsmWhx+30n40cu3fvti6++OIi93vllVdaLperwO1z1nnzzTetIUOGFLkPj8dT6DEDUDYYKQOAINKuXTtNmzZNkpSUlKTZs2fnWT5lyhStWrVKkjRz5kzVq1cvz/Lx48frmWeekSQNGzZMy5Yt0759+7Rv3z4tWrRIXbp00eHDhzVkyJACJyJZt26d+vXrp/379ys6OlpPPPGEtmzZovT0dKWmpmrRokW69957S3Vih8aNGyszM1Ovvvqq97nMzMx8D1/9+uuvuuqqq3Tw4EFFR0crISFB27dv1759+/TZZ5+pU6dOkqRp06bp+eefL3Jft956q/bv368ZM2bot99+U1pamr744gu1atVKkn0a348//lii91u9enVdc801kqR33323yHVzll911VWqUaOG9/lHH31U27ZtU2hoqCZNmqRNmzZ5+7xx40a9/PLL3tszlIVdu3Z5e1K/fv0C17n++usVHh6umTNnaufOndq7d68+/fRTxcTESLIn/7npppt05MgR9ejRQ/PmzVNqaqrS09P17bffaujQoZKk//f//p/3OrbcDh06pMsuu0zr169XSEiI/v73v2vlypXat2+f9u7dqxUrVujxxx9Xo0aNfH5fhw4d0t/+9jedPHlSzZs317vvvqtffvlFBw8e1K5du7RkyRI99thjatiwYYmO14kTJzRgwAB99913CgkJ0ciRI70/V99++61uvfVWSdLixYu9XxfmySef1Pz58zV27Fht2bJFBw4c0KZNm3Tdddd59/Hmm2+WqD4ApcB0KgSAwuT+rfmiRYuszMzMAh+HDx/Ot23u0ZPx48cXum3uR876xY2U+bK/rKwsv95zzkhZo0aNfKo5Ozs73z6ys7Otfv36eUe1UlJSLMuyR39CQkIsSdZ9992Xb7v169d7R8hef/31Aus7ceKE1aNHD0uSdfXVV+d73ZYtW1qSrBo1alg//vhjoe/T7Xbn+f5MRspKug/LKnqkY9CgQd7RpYJGirKysqzOnTtbkqwqVapY+/fvz7M890hZZGRkgcdh165dVtWqVS1J1tixY4ut93Qffvih9zVWr15d4DrffPONd5158+blWZYzAjVq1KgSv3ZxfBkp+/vf/+5d58knn/Q+n7uHNWvWtHbu3Fng9kePHrVq165tSbJuvfXWAn8OLMuyHn30UUuSdc4551hHjx7Ns+zee+/1vtacOXMKrfX0z6plFf75+eijj7z73Lx5c6H7LEhRn+0XXnjBu9+EhIQCt3/wwQe963z88cf5lucsk2S98847+ZZ7PB6rbdu2liSrS5cuJaodwJkjlAEot3L/B62oR3R0dL5tfT2lraBHcaHMl0dhpyAVJyeU+frIfSpXbn/++af3P60dOnSw/vzzT6thw4aWJKtVq1b5/oNqWaf+U9i9e/cia/zqq68sSVZISIh18OBB7/Off/65t67CQl1hykso27t3rze43n///YVuv3r1au9rTZ8+Pc+y3KFs/Pjxhe5j4MCBliSrT58+xdZ7uhMnTlg1a9a0JFkPPPBAgevcf//93oB8/PjxPMuioqIsSdazzz5b4tcuTmGhzO12Wz/99FOe8FCjRg0rLS3Nu07uHk6bNq3Q18hZLzw83Dp06FCh6x05csR7euOHH37ofT4jI8N7CmhBp/kWp7DPz7x587z1nx7Wi1PUZ7tVq1ben93CAmhWVpY3bA8cODDf8py6LrnkkkJrmD59uvcXEgWFUQBlh9MXASAI1a5dW7Nnz5bD4dD69evVunVrpaamqkqVKvrf//6nKlWq5Nvmiy++kCTFxcXp8OHDhT4uuugiSfYECevXr8+3vdPpLPYUqvJq1apV3olPbrzxxkLX69Klixo3bixJ+vrrrwtdr3///oUuu+CCCyTZE1WUlNPp1M033yxJeu+993Ty5Mk8y91ut+bMmSNJuummm/Ldz65t27aSpGeffVaffPKJPB5PiWvwRe6JVpxOp1q0aKGXXnpJklSjRg3Nnz9fNWvWLHDbq666qtD95nzWLrnkEoWGhhb6Wc3OzlaLFi0kSWvXrvVuv2LFCh0/flySPcFGabn44ou9p3zefvvt+uWXX854nwcPHvSeKnzDDTcUekpp1apVvae1rlixotD9+fKZPHHihA4ePOhvyQD8QCgDEBCWLl0qyx7dz/c4dOhQkds+/vjjhW6b++ErX/b31VdfndH7bdy4sU81N2nSpNB99O3bV6NGjZIk7d+/X5L0/PPPe69nyu3w4cPeWRUnT56satWqFfo455xzvNvl7Feyr8WSpPPOO0/h4eFn9P5N+f33371f54TPwrRs2VJS0fesOv2avdxyjlFWVlYJKjzltttukySlpaXps88+y7Pss88+U1paWp71cps2bZoqV66sffv26eqrr1bt2rU1ePBgTZ8+XZs3b/arHl+EhYWpbdu2mjBhgn744Qddeumlha577rnnFrrsp59+kiQtWbKkyM9qtWrVvL84KOizKp0KqKWhWbNmuv/++yVJCxcu1HnnnaeWLVvqnnvuUVJSUp4afLVz507v30++fiYPHDhQ6OyrvnwmJf8/lwD8QygDgCCWMymFJFWpUkVDhgwpcL2MjAy/9n/s2DHv1zn/CaxWrZpf+yoPck8IUtz7yFle1CQioaGhxb5mSX4hkFuXLl103nnnSZLeeeedPMtyvm/evLkuueSSfNtecsklWr16tQYNGiSn06n09HTNnz9fDz/8sNq2batWrVrpk08+8auu3HJPtHL06FEdO3ZMGzdu1BNPPKE6deoUuW1Rwd6fz2tBn1Wp9D+vL774ol5//XVvQNq6datee+013XrrrapXr55uvvlmn24rkcOfz+Tp2+Xmy2dS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n0Jz//1STIzBYgGgnDp4MP9IV85jxw7p2LGye+1XXpF69y67/QNARVWuQ9ldd92V53tfr/t68sknJUnjxo3zBjJJio2N1csvv6yePXtqxowZmjRpkqKjo0uvYPgkJMS+MebAgdLy5fbI2aef2svS0uxr0Z5+Wrr7bnuErUEDs/UCwNl09OipCTROf/z2m5SR4d9+q1e3R7gKejRsKF14oT2pR0HXlTkc9t/FPXueyTsDABSmXIcyf+zevVtr166VJMXHx+db3qNHDzVs2FCpqalatGiRbrnllrNdIv7icEi9etmPzZvtIDZnjn3dwuHD9jVoL71k36x6zBj7tBkACHQnT9qnEeY+rTD3488//dtvlSqFh66mTe1QVpSEBHuWRYcjbzDLmYzphReYjAMAykrQhbKNGzdKkmrUqKGmTZsWuE7Hjh2VmpqqjRs3nlEoO378uI4fP+793vXXXS/dbrfcbrff+zUpp+6zXf9FF9lT5j/+uPTCCyGaNStEx4455HZLM2dKb71laeBAS48+mq1OnQr4NW4QMdUD2Dj+5gV6DyxL2rtX2rHD8dcphY6/HvbXO3dKHk/Jp50NDbX+mkzD+utaLktNmlh/Xd9lqU6domezLe5wXnON9N57Do0eHardu0/tqH59S88/79E111jF7gOlJ9B/DoIBPTAv0HtQkrqDLpRt375dktSoUaNC12nYsGGedSUpKytLixYtkiT99ttvysrK0ty5cyVJnTp1UuPGjfPt56mnntKUKVPyPb948WKFB/hsFcnJycZeu18/qWvXMC1ceK4WLWqqrCynLMuhDz906MMPQ9S69X4NHrxNbdvuD+rp9E32ABz/8qA89+DIkUrauzdce/dGaO/ecO3bF+79ft++qjpxwr9/XmNijumcc7JUu/YR1a6d9dfX9iM29qhCQ/P/UurgQf/vD3a6sDD7liZbt9bUwYNVFBNzTBddlK7QUOmvfyJxlpXnn4OKgh6YF6g9yMrK8nndoAtlmZmZkqSIiIhC14mMjJR0amRLkvbt26cbbrghz3o537/11lsaMWJEvv2MHz9eo0eP9n7vcrnUsGFDXXnllYqKivL7PZjkdruVnJysuLg447cNiI+XXC7pzTc9SkgI0R9/2Alsy5Za2rKlltq0sTRmjEeDB1tBNetXeepBRcTxN6889ODYMXlHtnJGubZvP/X1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qlWrpg4dOpzFyiqONWvWKC4uTpmZmapfv76uvPJKhYaGatOmTfrvf/+rpKQkJSUl6YYbbjBdaumzUKG98cYb1iOPPGK9++671o8//mjddtttliRr6tSppkurEJYsWWJdf/311vLly/Mte++996zQ0FBLkjV79mwD1VUcq1evttLT0/M9n5aWZvXo0cOSZN18880GKqt4jhw5Yp133nlW/fr1rUGDBvH30Vk0fPhwS5L11ltvmS6lwsrKyrJatGhhSbImT55snThxIs/yI0eOWBs3bjRTHKz+/ftbkqy//e1vpksJWhdffLElybr77rvzfP49Ho81ceJES5JVvXp16+jRowarLBucvljB3XXXXXr22WcVHx+vFi1aKCSEj8TZ1KdPH82dO1c9e/bMt+ymm27SiBEjJEn//e9/z3JlFUuXLl1Uo0aNfM/XrFlTTz75pCRp8eLFZ7usCmn8+PHatm2bXn/9dUVHR5suBzirnnrqKf3000+6++679fjjj8vpdOZZHh4errZt25oproLbvXu3Pv/8c0nSnXfeabia4JSenq7vvvtOkvTEE0/k+fyHhIRo8uTJqlq1qg4dOqQff/zRVJllhv+BA+VYu3btJEmpqamGK6m4KlWyz/KuCDeuNO2rr77SSy+9pGHDhmnAgAGmywHOKrfbrVdeeUWSNGbMGMPV4HSzZs1Sdna2WrZsqS5dupguJyiV5N/Z2NjYMqzEDK4pA8qxbdu2SZLq1q1ruJKKKTMzU5MnT5YkDRw40GwxQe7w4cO64447VLt2bb3wwgumy6nQli5dqi1btigzM1M1a9ZU586dNWDAAH4xUcY2bNigtLQ01atXT82bN9eWLVs0b9487dmzRzExMerZs6f69+/PGS2GzJo1SxKjZGUpMjJSPXv21Ndff62JEydqxowZ3tGy7OxsTZ48WUePHlX//v3VsGFDw9WWPkIZUE79+eef3n8Err/+erPFVBCLFy9WUlKSsrOzvRN9ZGZmql+/fnr66adNlxfUHnnkEW3fvl3z589XTEyM6XIqtIJOl65bt65mzpypfv36GaioYsg5batBgwYaN26cnnnmmTwT3Tz99NNq166dFixYoEaNGpkqs0JatmyZfvnlF1WuXFm33Xab6XKC2htvvKEBAwbo9ddf1yeffKKOHTsqNDRUGzdu1O7du3XbbbdpxowZpsssE/y6BSiHTp48qaFDhyojI0OtW7fW3//+d9MlVQhbt27V7Nmz9fbbb2vx4sXKzMxUfHy8Zs2axfVNZWjx4sV67bXXdPPNN2vQoEGmy6mw2rRpo4SEBH3//fdyuVzau3evFi9erG7duumPP/7QwIED9dVXX5kuM2ilp6dLkjZu3Kinn35a9913n37++WdlZGQoOTlZ559/vjZu3KirrrpKbrfbcLUVy8yZMyXZZ0wE42lz5ckFF1ygb775RldeeaV2796tDz/8UPPmzdP27dvVvHlz9e7dW1FRUabLLBOEMqAcuueee7RkyRLVrFlTc+fOVeXKlU2XVCGMHDlSlmXpxIkT+uWXX/T888/r008/1UUXXcQ9acpIRkaG7rzzTtWqVUsvvfSS6XIqtFGjRumhhx5Sy5YtVa1aNZ1zzjmKi4vTihUrdO2118rtdmvkyJGmywxaOaNibrdbt9xyi2bMmKHzzz9fUVFRuuKKK5ScnKwqVaro+++/13vvvWe42orD5XJp7ty5kqQ77rjDcDXBb+XKlWrdurW+//57JSUl6c8//9SBAwf08ccfy+1268477wzaU0gJZUA5849//EP/+c9/FBMT4/3tKM4up9OpZs2aafTo0fr000918OBBDR06VEePHjVdWtAZOXKkdu3apRkzZvAb6HLK4XBoypQpkqTNmzcz8VAZqVatmvfrgs6OaNSoka666ipJ0hdffHHW6qro3nvvPWVlZalBgwbq27ev6XKC2qFDh3Tddddp//79mjdvnm655RbVrl1bMTExuvrqq/XZZ58pPDxcM2fO1NKlS02XW+oIZUA58vDDD+vFF19U9erVtXjxYu/sizCnS5cuuuiii5Samqp169aZLifozJ8/X5UqVdLLL7+s3r1753l89tlnkqT//Oc/6t27t26++WbD1VZcF154offrXbt2GawkeJ177rkFfl3QOn/88cdZqQmnTl0cMWIEk6yUsU8++UT79+/XueeeW+AMl7mfD8ZfTDDRB1BOPProo5o+fbqio6O1ePFidezY0XRJ+EtERIQkad++fYYrCU4nT57UsmXLCl2+Y8cO7dixQ40bNz6LVSG3nOudpLwjOig97du3l8PhkGVZSktLK3B2ubS0NEn2LHUoe1u3btWaNWvkcDh0++23my4n6O3cuVOSirxmLOf67gMHDpyVms4mIj9QDowbN07PPvusoqOjlZycrE6dOpkuCX9JS0vT5s2bJYlTScvAoUOHZFlWgY/hw4dLkqZOnSrLsrRjxw6zxVZgOdcwRUVF6YILLjBcTXCqU6eOevToIangUQC32+395UXnzp3Pam0V1X/+8x9J0mWXXVbo6CVKT/369SVJP/30kzIyMvItd7vd2rBhgySpadOmZ7W2s4FQBhg2ceJEPf3006pevTqBzICtW7fq3Xff1bFjx/ItS0lJ0Q033KDjx4+ra9euat26tYEKgbK3adMmffTRRzp58mSe57Ozs/Wf//xHjz32mCTpoYce8t43CKXv8ccflyQ99dRTWr16tff5kydP6uGHH9Zvv/2matWqMWpzFrjdbr3zzjuSuDfZ2dK/f39FRETo6NGj+tvf/qbDhw97l504cUKjRo3Szp075XQ6NWTIEIOVlg1OX6zgNmzYoPvuu8/7/a+//ipJeu2117Rw4ULv8/Pnz+cGxmXgo48+0r/+9S9JUvPmzZWYmFjgerGxsXruuefOZmkVxr59+zR06FD9/e9/V7t27dSgQQOdOHFCO3fu1IYNG5Sdna0LL7xQc+bMMV0qUGZ27Nih6667TjExMWrfvr1q166tQ4cO6fvvv/eeUnTLLbd4QwPKxuWXX66pU6dq0qRJ6tmzpzp37qw6depow4YN2rFjh6pWrar//e9/ql27tulSg97ChQu1b98+Va9eXYMHDzZdToVQq1Ytvfrqq7r99tv1wQcf6KuvvlKnTp3kdDq1bt067d69WyEhIXrxxReDcuSSUFbBuVwurVmzJt/zu3btynMx9/Hjx89mWRVG7nOi161bV+hEEo0bNyaUlZGWLVvqX//6l77++mv99NNP2rhxo9xut2rUqKHLL79cgwcP1u23366wsDDTpQJlpk2bNho5cqTWrVunn376SStXrpRlWapdu7aGDBmi22+/XQMGDDBdZoUwceJEde7cWS+88ILWrFmjtWvXqk6dOhoxYoTGjh2rFi1amC6xQsiZ4CM+Pl5VqlQxXE3FMXToULVu3VovvPCCli9friVLlsiyLNWtW1e33nqrHnrooaA9fddh5b5dPAAAAADgrOKaMgAAAAAwiFAGAAAAAAYRygAAAADAIEIZAAAAABhEKAMAAAAAgwhlAAAAAGAQoQwAAAAADCKUAQAAAIBBhDIAQEBo0qSJHA5HvkdkZKTatGmj8ePHKz09Pd92I0aMkMPh0KxZs85+0X+ZNWuWHA6HRowYUaLtduzYIYfDoSZNmpy11wQAnH2EMgBAQOnevbuGDx+u4cOH67bbblPXrl21bds2TZs2TRdffLF+++03n/YT6KElJ5QCAAJfJdMFAABQEnfddVe+IPXnn3+qV69eSklJ0aOPPqq5c+d6lz311FMaN26c6tate5YrPeW6665T165dFR0dbawGAED5xUgZACDg1alTR2PGjJEkLVmyJM+yunXrqkWLFkYDUXR0tFq0aGE0GAIAyi9CGQAgKNSpU0eSdPLkyTzPF3RNWZMmTXT77bdLkmbPnp3nGrXevXtLkgYPHiyHw6F58+bl2d/JkycVHR0th8OhG2+8MV8dd9xxhxwOh2bOnOl9rrhTJRcuXKhevXqpWrVqio6OVs+ePfXhhx8WuO7kyZPznLZ4+jV2O3bsyLfNkSNHNH78eDVv3lxhYWGqU6eOhg8frt27dxf4GgCAs4vTFwEAQeHbb7+VJLVs2bLYdYcMGaLVq1dr5cqVatasmXr06OFd1qJFC0nSFVdcofnz5+uLL77Q4MGD87yOy+WSJH355ZeyLCtPSMoZqbviiit8qvvf//63Ro8eLUnq3LmzmjVrpm3btmnQoEHe53Nr27athg8frtmzZ0uShg8fnmd5ZGRknu8zMjLUrVs37dy5Uz179lSrVq30zTff6L///a+WLVumzZs3c1olABhGKAMABKzs7Gz98ccfmj9/vp555hmFhoZq4sSJxW733HPPadasWVq5cqV69OhR4MyMOaHqiy++yPN8zvcXX3yxvvvuO23cuFHt27eXJKWkpGjnzp0677zz1KhRo2Lr+O677zRmzBiFhIRozpw5GjJkiHfZu+++q9tuuy3fNoMGDdKgQYO8oay4WSUXLFigvn376uuvv1ZUVJQk6eDBg+rTp482bdqkl19+WePHjy+2VgBA2eH0RQBAQLn99tu9p+qFhoaqQYMGevDBB3XxxRdr2bJluvrqq0vldc4//3w1bNhQ27Zt086dO73Pf/HFF6pSpYoef/xxSVJycnKeZZLvo2QvvfSSPB6PbrjhhjyBTJJuvfVWDRw48EzfhiIiIvTWW295A5kkxcTEaNy4cXlqBgCYQygDAASU3FPiDx8+XFdddZUaNmyotWvXatSoUdq2bVupvVZOuMoJXkeOHNHq1avVo0cP9e3bV06nM0+oKWko++qrryRJQ4cOLXD56acm+qNjx44FTjBy4YUXShLXlQFAOUAoAwAElLvuukuzZs3yPhYuXKjffvtN48eP19q1a9WrVy9lZmaWymudfgrjsmXL5Ha7FRcXp4iICHXt2lUrVqzQsWPHlJ2draVLlyokJER9+vTxaf+7du2SJDVt2rTA5YU9XxKFnUaZM3J27NixM34NAMCZIZQBAAJepUqV9MQTTyg2NlZ//PGH/vvf/5bKfi+//HI5HA4tWbJElmV5w1lcXJwkO7QdO3ZMK1as0Lp163To0CF16NBB1atXL5XXLw0hIfxTDwDlHX9TAwCCQkhIiJo0aSJJ+vHHH0tln7Vr11arVq20f/9+bd68WV988YViY2PVtm1bSXlH0kp66qIk1a9fX5IKnMa+qOcBAMGFUAYACArZ2dneEHP6tPAFqVy5sqT89zU7XU7Ievfdd/X99997R88kewr7qKgoJScn+xXKevXq5d13QYoa8XM6nT7VDwAo/whlAICAd/LkSU2cOFFpaWmS5NOshQ0aNJAkbd26tcj1ckLWjBkzZFmW99RFyT5tslevXtq0aZNWrlypqlWrqnv37j7X/eCDDyo0NFTvv/++5s+fn2fZe++9pwULFhRb/w8//ODz6wEAyifuUwYACChvvvmmd9ZCSUpPT9fmzZuVmpoqSZowYYK6detW7H66du2qevXqee8z1rp1azmdTl1wwQUaM2aMd71evXrJ6XR6J8TIHcokO7R9/PHHOnHihOLi4hQWFubze2nbtq2eeuopPfrooxo8eLC6dOnivXl0zmyS//73vwvc9vrrr9dzzz2nK664Qn369FG1atUkSU8//bRq1qzpcw0AAPMIZQCAgLJy5UqtXLnS+33lypVVt25d3XTTTbrnnnvUu3dvn/ZTuXJlff7555owYYK++eYbbd68WdnZ2erVq1eeUJYzy+LXX39d4E2hc5+uWJJTF3OMGTNGF1xwgZ599llt3LhRP/zwgy6++GLNnTtXHTp0KDSUTZ06VSEhIZo3b54WLFigEydOSJImTpxIKAOAAOOwLMsyXQQAAAAAVFRcUwYAAAAABhHKAAAAAMAgQhkAAAAAGEQoAwAAAACDCGUAAAAAYBChDAAAAAAMIpQBAAAAgEGEMgAAAAAwiFAGAAAAAAYRygAAAADAIEIZAAAAABhEKAMAAAAAgwhlAAAAAGDQ/werJ0Mh5MT2cwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_fhe_inference_time(n_bits_list, scores, model_hyperparameters):\n",
    "    \"\"\"Plot the FHE inference time against bitwidth for each model.\"\"\"\n",
    "\n",
    "    # Calculate average inference time per node for each bitwidth\n",
    "    n_bits_timings = np.zeros((8,))\n",
    "    for model in model_hyperparameters:\n",
    "        for idx, n_bits in enumerate(n_bits_list):\n",
    "            if n_bits < 9:\n",
    "                n_bits_timings[idx] += (\n",
    "                    scores[model.__name__][idx] / nodes_dict[model.__name__][idx] * 1000\n",
    "                )\n",
    "    n_bits_timings /= len(model_hyperparameters)\n",
    "\n",
    "    # Plot setup\n",
    "    plt.figure(figsize=(10, 6))\n",
    "    plt.rcParams.update({\"font.size\": 16})\n",
    "\n",
    "    plt.plot(\n",
    "        range(1, 9),\n",
    "        n_bits_timings,\n",
    "        label=\"FHE Inference Time\",\n",
    "        color=\"blue\",\n",
    "        linewidth=2,\n",
    "        marker=\"o\",\n",
    "    )\n",
    "\n",
    "    plt.xlabel(\"Bitwidth\")\n",
    "    plt.ylabel(\"Time (ms)\")\n",
    "    plt.grid(True, which=\"both\")\n",
    "    plt.semilogy()\n",
    "    plt.ylim([0, 1000])\n",
    "    plt.xlim([0.5, 8.5])\n",
    "    plt.xticks(np.arange(1, 9))\n",
    "    plt.title(\"FHE Execution vs Precision\", pad=10)\n",
    "\n",
    "    plt.savefig(\"fhe_inference_time.eps\", bbox_inches=\"tight\", dpi=300)\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "plot_fhe_inference_time(n_bits_list, scores_dict, model_hyperparameters)"
   ]
  }
 ],
 "metadata": {
  "execution": {
   "timeout": 10800
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
